<?php

namespace Sisesporte\Entity;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;

/**
 * @ORM\Entity
 * @ORM\Table(name="telefone")
 * @ORM\Entity(repositoryClass="Sisesporte\Repository\TelefoneRepository")
 */
class Telefone {

    public function __construct($options = NULL) {
        if(!is_null($options))
        Configurator::configure($this, $options);
//        $this->telefones = new ArrayCollection;
    }

    /**
     * @var integer $sqTelefone
     *
     * @ORM\Column(name="sq_telefone", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $sqTelefone;
    
    /**
     * @var Sisesporte\Entity\Pessoa $sqPessoa
     * @ORM\ManyToOne(targetEntity="Sisesporte\Entity\Pessoa", inversedBy="sq_pessoa")
     * @ORM\JoinColumn(name="sq_pessoa", referencedColumnName="sq_pessoa")
     */
    protected $sqPessoa;
    
    /**
     * @var Sisesporte\Entity\TipoTelefone $sqTipoTelefone
     * @ORM\ManyToOne(targetEntity="Sisesporte\Entity\TipoTelefone", inversedBy="sq_tipo_telefone")
     * @ORM\JoinColumn(name="sq_tipo_telefone", referencedColumnName="sq_tipo_telefone")
     */
    protected $sqTipoTelefone;

    /**
     * @var string $noTipotelefone
     * @ORM\Column(name="no_telefone", type="text", nullable=false)
     */
    protected $noTelefone;

    /**
     * @var boolean $stAtivo
     * @ORM\Column(name="st_ativo", type="boolean", nullable=true)
     */
    protected $stAtivo;

//    /**
//     * @ORM\OneToMany(targetEntity="Sisesporte\Entity\Telefone", mappedBy="sq_tipo_telefone")
//     */
//    protected $telefones;

    public function getSqTelefone() {
        return $this->sqTelefone;
    }

    public function getNoTelefone() {
        return $this->noTelefone;
    }

    public function setNoTelefone($noTelefone) {
        $this->noTelefone = $noTelefone;
        return $this;
    }

    public function getStAtivo() {
        return $this->stAtivo;
    }

    public function setStAtivo($stAtivo) {
        $this->stAtivo = $stAtivo;
        return $this;
    }

    public function getSqPessoa() {
        return $this->sqPessoa;
    }

    public function setSqPessoa(Pessoa $sqPessoa) {
        $this->sqPessoa = $sqPessoa;
    }
    
    public function getSqTipoTelefone() {
        return $this->sqTipoTelefone;
    }

    public function setSqTipoTelefone(TipoTelefone $sqTipoTelefone) {
        $this->sqTipoTelefone = $sqTipoTelefone;
    }

    public function __toString() {
        return $this->noTelefone;
    }

    public function toArray() {
        return array(
            'sqTelefone' => $this->getSqTelefone(),
            'sqPessoa'=>  $this->getSqPessoa()->getSqPessoa(),
            'noTelefone' => $this->getNoTelefone(),
            'sqTipoTelefone'=>  $this->getSqTipoTelefone(),
            'stAtivo' => $this->getStAtivo()
        );
    }

}
